Vòng đời của mọi chương trình bắt đầu từ một chương trình nguồn (hay tệp nguồn). Ở cấp độ cơ bản nhất, mã của bạn không hơn gì một chuỗi bit, được tổ chức thành các khối 8-bit gọi là byte. Đối với chúng ta, đó là logic; đối với máy tính, đó là một bản thảo kỹ thuật số gồm các mã số.
1. Chuẩn ASCII
Để đảm bảo rằng ký tự 'i' bạn gõ vào int là cùng một 'i' mà máy tính đọc, chúng ta sử dụng chuẩn ASCII. Mỗi ký tự tương ứng với một giá trị số nguyên cụ thể. Ví dụ, ký tự # được lưu dưới dạng giá trị byte $35$, trong khi i là $105$.
| Ký tự | # | i | n | c | l | u | d | e |
|---|---|---|---|---|---|---|---|---|
| ASCII | 35 | 105 | 110 | 99 | 108 | 117 | 100 | 101 |
2. Tệp Văn bản so với Tệp Nhị phân
Sự khác biệt giữa tệp văn bản và tệp nhị phân hoàn toàn dựa trên ngữ cảnh. Các tệp chỉ chứa các ký tự ASCII được coi là tệp văn bản; tất cả các loại còn lại đều là tệp nhị phân. Trong giai đoạn "nguồn" ban đầu này, chương trình của bạn tồn tại duy nhất như một chuỗi tuyến tính các mã số này.